package com.p2p.entity;


import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.sql.Timestamp;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("借贷用户实体")
public class Borrower {
  @ApiModelProperty(name = "id",notes = "id",dataType = "Long",required = false)
  //使用TableId属性来防止数据库id和实体id不一致问题
  @TableId(value = "id")
  private Long id;
  @ApiModelProperty(name = "borrowerNum",notes = "借款人编号",dataType = "String",required = true)
  private String borrowerNum;
  @ApiModelProperty(name = "name",notes = "借款人姓名",dataType = "String",required = true)
  private String name;
  @ApiModelProperty(name = "name",notes = "借款人公司",dataType = "String",required = true)
  private String company;
  @ApiModelProperty(name = "userType",notes = "用户类型(0企业用户，1个人用户)",dataType = "Byte",required = true)
  private Byte userType;
  @ApiModelProperty(name = "phone",notes = "手机号",dataType = "String",required = false)
  private String phone;
  @ApiModelProperty(name = "email",notes = "邮箱",dataType = "String",required = false)
  private String email;
  @ApiModelProperty(name = "lockStatus",notes = "锁定状态(0正常，1锁定)",dataType = "Byte",required = false)
  private Byte lockStatus;
  @ApiModelProperty(name = "registrationDate",notes = "注册时间",dataType = "Timestamp",required = false)
  @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
  private Timestamp registrationDate;
  @ApiModelProperty(name = "userSource",notes = "用户来源",dataType = "String",required = false)
  private String userSource;
  @ApiModelProperty(name = "loginPassword",notes = "登录密码",dataType = "String",required = true)
  private String loginPassword;
  @ApiModelProperty(name = "payPassword",notes = "支付密码",dataType = "String",required = true)
  private String payPassword;
  @ApiModelProperty(name = "taxRegistrationNumber",notes = "税务登记号",dataType = "Long",required = false)
  private Long taxRegistrationNumber;
  @ApiModelProperty(name = "remark",notes = "备注",dataType = "String",required = false)
  private String remark;
  @ApiModelProperty(name = "isDeleted",notes = "是否删除",dataType = "Byte",required = false)

  @TableLogic
  private Byte isDeleted;
  @ApiModelProperty(name = "createTime",notes = "创建时间",dataType = "Timestamp",required = false)
  @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
  private Timestamp createTime;
  @ApiModelProperty(name = "updateTime",notes = "更新时间",dataType = "Timestamp",required = false)
  @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
  private Timestamp updateTime;


}
